package utils

import (
	"os"
	"strings"
)

var EnvUtil = &EnvUtilTool{}

type EnvUtilTool struct{}

// dev,test,pre,prd
func (*EnvUtilTool) GetEnv() string {
	if env := os.Getenv("ENV"); !StringUtil.IsEmpty(env) {
		return strings.ToLower(env)
	}
	if env := os.Getenv("GO_ENV_MODE"); !StringUtil.IsEmpty(env) {
		return strings.ToLower(env)
	}
	return "dev"
}

func (*EnvUtilTool) GetConfigType() string {
	if env := os.Getenv("GO_CONFIG_TYPE"); !StringUtil.IsEmpty(env) {
		return env
	}

	return "yaml"
}

func (m *EnvUtilTool) IsDebugMode() bool {
	return strings.ToLower(os.Getenv("DEBUG")) == "true" || m.GetEnv() == "dev" || m.GetEnv() == "test"
}
